package com.chinacoal.microservice.controller;

import com.chinacoal.microservice.TimedTaskClient;
import com.chinacoal.microservice.service.TimedTaskService;
import com.chinacoal.microservice.util.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author zhuliang
 * @version V1.0
 * @Description: 定时任务-后端控制类
 * @date 2020-12-12 16：21
 */
@RestController
public class TimedTaskController implements TimedTaskClient {

    @Autowired
    private TimedTaskService timedTaskService;

    /**
     * @Description: 每月1号的0：30,开始创建费用信息,并将模板信息写入通知单中(定时任务)（仅限异常时，或测试时用）
     * @author zhuliang
     * @date 2020/12/12 16:24
     */
    @Override
    public Result generateNotice() {
        return timedTaskService.generateNotice();
    }

    /**
     * @Description: 每月1号凌晨0：15查询上个月未缴费的，租户信息改为欠费(定时任务)(仅限异常时，或测试时用)
     * @author zhuliang
     * @date 2020/12/12 16:24
     */
    @Override
    public Result updatePaymentStatus() {
        return timedTaskService.updatePaymentStatus();
    }

    /**
     * @Description: 每天凌晨0：10查询所有合同到期的合同信息,并修改合同状态(定时任务)
     * @author zhuliang
     * @date 2020/12/12 16:24
     */
    @Override
    public Result contractExpires() {
        return timedTaskService.contractExpires();
    }

    /**
     * @Description: 每月1号0:20生成上一个月数据中心数据(定时任务)
     * @author zhuliang
     * @date 2021/1/1 0:25
     */
    @Override
    public Result generateDataCenterData() {
        return timedTaskService.generateDataCenterData();
    }

    public Result updateEntriesInformation() {return timedTaskService.updateEntriesInformation();}

}
